let
    StartDate = #date(2021, 1, 1),
    EndDate = #date(2024, 12, 31),
    NumberOfDays = Duration.Days(EndDate - StartDate) + 1,
    DatesList = List.Dates(StartDate, NumberOfDays, #duration(1, 0, 0, 0)),
    CalendarTable = Table.FromList(DatesList, Splitter.SplitByNothing(), {"Date"}),

    // Adding extra columns
    AddYear = Table.AddColumn(CalendarTable, "Year", each Date.Year([Date])),
    AddMonthNumber = Table.AddColumn(AddYear, "Month Number", each Date.Month([Date])),
    AddMonthName = Table.AddColumn(AddMonthNumber, "Month Name", each Date.MonthName([Date])),
    AddDay = Table.AddColumn(AddMonthName, "Day", each Date.Day([Date])),
    AddDayOfWeek = Table.AddColumn(AddDay, "Day of Week", each Date.DayOfWeek([Date])),
    AddDayOfWeekName = Table.AddColumn(AddDayOfWeek, "Day of Week Name", each Date.DayOfWeekName([Date])),
    AddQuarter = Table.AddColumn(AddDayOfWeekName, "Quarter", each Date.QuarterOfYear([Date])),
    AddYearMonth = Table.AddColumn(AddQuarter, "Year-Month", each Text.Combine({Text.From(Date.Year([Date])), "-", Text.PadStart(Text.From(Date.Month([Date])), 2, "0")})),

    // Add formatted date column
    AddFormattedDate = Table.AddColumn(AddYearMonth, "Date (dd/mm/yyyy)", each Text.PadStart(Text.From(Date.Day([Date])),2,"0") & "/" & Text.PadStart(Text.From(Date.Month([Date])),2,"0") & "/" & Text.From(Date.Year([Date])))
in
    AddFormattedDate
